--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
docs/agents/conventions/frontend.md 82e41b2d087d0b724ba86a4352b20af38ec34a55 (82e41b2d) Text, 1.10 KB
Frontend conventions
Applies when editing T383838meshchatx/src/frontend/**/*.{vue,js}.
• Vue 3 Options API is the dominant pattern. Match the file you edit.
• API calls go through T383838window.api (not ad-hoc axios imports in pages).
• Toasts: T383838ToastUtils.success|error|warning|info|loading|dismiss.
• New top-level pages need: route in T383838main.js, nav entry when discoverable, T383838en.json keys, frontend tests.
• When adding user-visible strings, update T383838en.json and the other maintained locale files under T383838meshchatx/src/frontend/locales/ with real translations (not English copies).
• Sidebar unread pills live on nav entries in T383838coreNavEntries.js and counters in T383838GlobalState. Do not bring back a header notification bell for that job.
• Do not use T383838_-prefixed keys in Vue T383838data() (T383838vue/no-reserved-keys).
• File inputs: prefer broad T383838accept for identity keys (T383838.bin,.key,.identity,application/octet-stream,*/*). Database restore stays T383838.zip.
• Prefer existing MaterialDesignIcon / layout patterns over new design systems.
• No backticks in code comments. Prefer plain words or quoted identifiers.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────